package com.jindy.module.transfer.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jindy.module.transferProduct.domain.SyTransferProductT;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.jindy.common.annotation.Excel;
import com.jindy.common.core.domain.BaseEntity;

/**
 * 库存调拨对象 sy_transfer_t
 * 
 * @author jindy
 * @date 2023-04-12
 */
@Data
public class SyTransferT extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 库存调拨单号 */
    @Excel(name = "库存调拨单号")
    private String serialNum;

    /** 调拨日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "调拨日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date repTransferDate;

    /** 负责人id */
    @Excel(name = "负责人id")
    private Long responsibleId;

    /** 负责人 */
    @Excel(name = "负责人")
    private String responsibleName;

    /** 调出仓库编号 */
    @Excel(name = "调出仓库编号")
    private String outRepertoryNo;

    /** 调出仓库 */
    @Excel(name = "调出仓库")
    private String outRepertory;

    /** 调出仓库负责人id */
    @Excel(name = "调出仓库负责人id")
    private Long outRepertoryId;

    /** 调出仓库负责人 */
    @Excel(name = "调出仓库负责人")
    private String outRepertoryName;

    /** 调入仓库 */
    @Excel(name = "调入仓库")
    private String inRepertory;

    /** 调入仓库编号 */
    @Excel(name = "调入仓库编号")
    private String inRepertoryNo;

    /** 调入仓库负责人id */
    @Excel(name = "调入仓库负责人id")
    private Long inRepertoryId;

    /** 调入仓库负责人 */
    @Excel(name = "调入仓库负责人")
    private String inRepertoryName;

    /** 物流状态 */
    @Excel(name = "物流状态")
    private String logisticsStatus;

    /** 物流类型 */
    @Excel(name = "物流类型")
    private String logisticsType;

    /** 机器出入库状态 */
    @Excel(name = "机器出入库状态")
    private String equipmentStatus;

    /** 状态 */
    @Excel(name = "状态")
    private String dataState;

    /**
     * 产品
     */
    private List<SyTransferProductT> syTransferProductTList;



    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("serialNum", getSerialNum())
            .append("repTransferDate", getRepTransferDate())
            .append("responsibleId", getResponsibleId())
            .append("responsibleName", getResponsibleName())
            .append("outRepertoryNo", getOutRepertoryNo())
            .append("outRepertory", getOutRepertory())
            .append("outRepertoryId", getOutRepertoryId())
            .append("outRepertoryName", getOutRepertoryName())
            .append("inRepertory", getInRepertory())
            .append("inRepertoryNo", getInRepertoryNo())
            .append("inRepertoryId", getInRepertoryId())
            .append("inRepertoryName", getInRepertoryName())
            .append("logisticsStatus", getLogisticsStatus())
            .append("dataState", getDataState())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
